J'écris un script Perl pour exécuter à travers et saisir divers éléments de données tels que:Comment puis-je extraire des colonnes à partir d'un format à largeur fixe en Perl?
1253592000
1253678400 86400 6183.000000
1253764800 86400 4486.000000
1253851200 36.000000 86400 10669.000000
1253937600 0.000000 86400 9126.000000
1254024000 0.000000 86400 2930.000000
1254110400 0.000000 86400 2895.000000
1254196800 0.000000 8828.000000
Je peux saisir chaque ligne de ce fichier texte sans problème. Je travaille sur regex pour saisir chacun de ces champs. Une fois que j'ai la ligne dans une variable, c'est-à-dire $ line - comment puis-je saisir chacun de ces champs et les placer dans leurs propres variables même s'ils ont des délimiteurs différents?
Pourriez-vous être un peu plus précis sur ce que sont vos délimiteurs? –
@Paul: C'est le problème. Cette sortie est générée par une application (splunk).Je ne peux pas définir les délimiteurs, et ils semblent être juste deux caractères d'espacement entre chaque colonne - mais il y a des espaces qui dépassent cela. – Greg
@Greg: Cela ne ressemble vraiment pas du tout à un fichier "délimité". Ce sont des colonnes à largeur fixe. La solution de FM ci-dessous est vraiment la façon la plus propre d'analyser cela. –