Gå til innhold

Anbefalte innlegg

Skrevet

Hei,

 

Jeg har en unix fil på en windows pc som jeg må endre en HEX verdi i før jeg sender den videre.

Problemet er at etter at perlscriptet mitt lagrer filen i DOS format.

Koden min ser slik ut:

 

opendir( DIRHANDLE, "Input" ) or die "Input Directory: $INPUTDIR do not exist.\n";

 

@InputFileName = readdir(DIRHANDLE);

 

# For each file in input dir

foreach $inputFile (@InputFileName) {

 

# Skip directories

if ( -d $inputFile ) { next }

 

open(INPUTFILE,"<Input\\$inputFile") or die "Can't open $inputFile";

open(OUTPUTFILE,">Output\\$inputFile") or die "Can't create $inputFile";

 

# Loop throgh input file lines

while (<INPUTFILE>) {

$lineStr = $_;

 

$lineStr =~ s/\x23/\x20/g; # HexEdit

 

print OUTPUTFILE $lineStr;

}

 

close (INPUTFILE);

close (OUTPUTFILE);

}

 

closedir(DIRHANDLE);

 

exit;

 

Som dere ser er det et enkelt script som kun skal endre en HEX verdi.

Er det noen enkel på jeg kan lagre outputfilen i unix format? Eller går det an å konvertere filen til unix etterpå?

Jeg er ganske ny med Perl så jeg takker for enkle svar;)

Videoannonse
Annonse
Skrevet

Forskjellen er vel bare hva en "ny linje" er? Litt rart at den forandrer på det, ser jo ut som om du bare skriver ut det du får inn..

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...