Gå til innhold

Output av en printf inn i et array(?) ?


Anbefalte innlegg

Prøver å få til å legge outputen av:

 

printf( "% 4d) %s\n", ++$iCount, $Path );

 

inn i et array, slik at jeg kan bruke dette senere, til å legge inn i en event

 

my %event=(

'EventID',100,

'EventType',EVENTLOG_ERROR_TYPE,

'Category',FTP,

'Strings','This is a String',

'Data', <HER VIL JEG HA OUTPUT FRA PRINTF>,

);

 

Hvordan går jeg frem for å få til dette? Har prøvd med push inn i et array, men dette funket ikke. Noen som har et vink i riktig retning?

Lenke til kommentar
Videoannonse
Annonse
bruk sprintf istedet, den returnerer en streng istedet for å printe den

$eventdata = sprintf( "% 4d) %s\n", ++$iCount, $Path );

printf( "$eventdata" );

 

sprintf kjører i en løkke, slik at bare siste output blir vist ved printf.

 

1) c:\temp\perl\CleanOldFiles.pl

2) c:\temp\perl\DirTreeSize.pl

3) c:\temp\perl\eventlog.pl

4) c:\temp\perl\FindInPath.pl

5) c:\temp\perl\OldFiles.pl

6) c:\temp\perl\SystemInfo.pl

7) c:\temp\perl\listing\Listing_01.Excerpt from CleanOldFiles.tx

8) c:\temp\perl\listing\Listing_02.Excerpt from DirTreeSize.txt

9) c:\temp\perl\listing\Weblisting_01.FindInPath.txt

10) c:\temp\perl\test\OldFiles.pl.backup

11) c:\temp\perl\test\test.txt

12) c:\temp\perl\test\test\test2.txt

13) c:\temp\perl\test\test\test3\test3.txt

 

Dette er output av printf( "% 4d) %s\n", ++$iCount, $Path );

som jeg vil ha inn, slik at jeg kan bruke dette i %event, men blir ikke klok på hvordan gjøre dette.

Lenke til kommentar

ok, får å gjøre det interessant, kan du gjøre slik istedet:

 

use IO::Scalar;

my $eventdata = new IO::Scalar;

select $eventdata;

for/while/do { # din loop her
 
 ## litt kode
 
 
 printf-setningen her
 
}

select *STDOUT;

## nå vil alle printfsetninger være samlet i 
## variabelen $eventdata;

my %event=( # ....
# ...
# ...
);

Lenke til kommentar

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...