Forum Programmation.perl Problème de type

Posté par  .
Étiquettes : aucune
0
19
oct.
2007
Bonjour à tous,

Voici le code qui me pose problème:


use strict;

my $chaine = "toto#titi#tata#tutu";
my $hash = {};
$hash->{TABLEAU} = split(/#/, $chaine);
print $hash->{TABLEAU}[1];


Et l'erreur renvoyée :

Can't use string ("4") as an ARRAY ref while "strict refs" in use at - line 6.


D'après le manuel, la fonction split utilisée dans un contexte scalaire renvoie le nombre d'éléments, ce qui expliquerait que mon $hash->{TABLEAU} vale 4.

Comment puis-je forcer l'utilisation d'un tableau ??

Merci d'avance pour (…)

Forum Programmation.shell For i in ...

Posté par  .
Étiquettes : aucune
0
12
oct.
2007
Bonjour à tous,

Juste pour ma culture personnelle, à l'image de la correspondance entre

for i in `cat toto` et for i in $(<toto)

y a t-il une autre façon de faire un

for i in `cat`?

Ma recherche sur le net n'a pas été fructueuse...
Merci d'avance !

Forum Programmation.perl Substitution de variables

Posté par  .
Étiquettes : aucune
0
29
août
2007
Bonjour à tous,

Je suis en train d'adapter des scripts shell UNIX en scripts PERL sous windows.

Mon problème est le suivant :

On me fournit un fichier de configuration (déclaration de variables) qui était sourcé dans les scripts shells.
Les variables déclarées dedans peuvent être de la forme VAR2=$HOME/toto/titi
La présence d'une variable au sein même de la déclaration de VAR2 ne pose donc aucun souci.

Mes ennuis arrivent lorsque je veux utiliser ce même fichier de configuration dans (…)

Forum Programmation.shell KSH: Pattern dans une variable

Posté par  .
Étiquettes : aucune
0
27
sept.
2006

Bonjour,

Je cherche à effectuer une boucle for pour chaque fichier matchant avec un pattern.

Un exemple valant mieux qu'un long discours, voici ce que je cherche à faire :


#!/bin/ksh
 
set -A EXTENSIONS txt ksh
 
pattern=$(echo ${EXTENSIONS[@]} | tr " " "|")
for file in *.@(${pattern})
do
  cat file
done

Mon seul problème est que les pipes dans la variable pattern ne sont pas interprétés en tant que séparateurs... Il y a bien une solution de contournement mais qui (…)

Forum Programmation.shell Pipelines et conditions

Posté par  .
Étiquettes : aucune
0
27
oct.
2005
Bonjour,

Je voudrais savoir s'il est possible de ne traiter un pipe que si la commande qui le précède a réussi.

Ce que je voudrais faire ressemble à cela :

 ( grep chaîne fichier1 || grep chaîne fichier2 ) | cut || echo "non trouvé"


Mon problème est que le cut fonctionnant toujours, même si aucun des grep n'a trouvé la chaîne, le message "non trouvé" n'est jamais affiché...

Existe-t-il un moyen d'écrire ça ou dois-je revoir ma façon de (…)